package program_structure;

/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/8/22 21:57
 * label:标签     使用标签跳出多层循环
 *  ----能看懂即可，不建议这么使用
 *  类似C的goto
 *  label:
 *      循环。。。。
 *      break label;
 *  作用于临近的一个循环；必须紧跟循环语句，不能插入任何其他语句
 */
public class LabelDemo {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 5; j++) {
                if(j==3){
                    System.out.println("------break-------"+j);
                    break;//仅结束当前循环
                }
            }
        }
        //label使用
        BreakOuter:
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 5; j++) {
                if(j==3){
                    System.out.println("------BreakLabel-------");
                    break BreakOuter;//结束两层循环
                }
            }
        }
        //
        ContinueOuter:
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 5; j++) {
                if(j==3){
                    System.out.println("------ContinueLabel-------");
                    continue ContinueOuter;//执行外循环--->类似于break
                }
            }
        }
    }
}
